package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

import factory.FactoriaConcreta;

import modelo.Ingrediente;
import vista.VentanaIngredientes;


public class ControladorIngrediente implements  ActionListener{

    private VentanaIngredientes vista;
    private Ingrediente modelo;
	private FactoriaConcreta factori;

    public ControladorIngrediente(VentanaIngredientes vista) {
        this.vista = vista;
        factori= new FactoriaConcreta();
        modelo = factori.crearIngrediente();
        vista.addListener(this);
    }


    public void actionPerformed(ActionEvent ae) {
        System.out.println(ae.getActionCommand());
        if(ae.getActionCommand().equals("Registrar")){
                if(vista.validarCodigoVacio() && vista.validoNumeros()){
            modelo.setCodigo(Integer.parseInt(vista.getTxtCodigo().getText()));
            modelo.setDescripcion(vista.getTxtDescripcion().getText());
            modelo.setStatus("A");
            modelo.setStock(Float.parseFloat(vista.getTxtStock().getText()));
            if(modelo.registrar()){
                JOptionPane.showMessageDialog(new JFrame(),"Registrado","BD2-5",JOptionPane.INFORMATION_MESSAGE);
            vista.limpiar();
            }
            else
                JOptionPane.showMessageDialog(new JFrame(),"Ya esta Registrado","BD2-5",JOptionPane.INFORMATION_MESSAGE);
        }

        }
        else if(ae.getActionCommand().equals("Buscar")){
             if(vista.validarCodigoVacio()){
           modelo.setCodigo(Integer.parseInt(vista.getTxtCodigo().getText()));
           if(modelo.consultar()){
               vista.getTxtDescripcion().setText(modelo.getDescripcion());
               vista.getTxtStock().setText(""+modelo.getStock());
                vista.mostrar();
            }
           else
           JOptionPane.showMessageDialog(new JFrame(),"EL codigo no existe","BD2-5",JOptionPane.INFORMATION_MESSAGE);

    }
        }
        else if(ae.getActionCommand().equals("Salir")){
            vista.setVisible(false);
            vista.limpiar();
        }
        else if(ae.getActionCommand().equals("Actualizar")){
            if(vista.validarCodigoVacio() && vista.validoNumeros()){
            modelo.setCodigo(Integer.parseInt(vista.getTxtCodigo().getText()));
            modelo.setDescripcion(vista.getTxtDescripcion().getText());
            modelo.setStatus("A");
            modelo.setStock(modelo.getStock()+Float.parseFloat(vista.getTxtComprada().getText()));
            if(modelo.actualizar()){
                JOptionPane.showMessageDialog(new JFrame(),"Ingrediente actualizado","BD2-5",JOptionPane.INFORMATION_MESSAGE);
            vista.limpiar();
            }
        }
            vista.limpiar();
        }
        else{
            vista.limpiar();
        } 
    }

}
